home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / mcga#01.zip / MCGA01.PAS < prev    next >
Pascal/Delphi Source File  |  1992-06-11  |  874b  |  57 lines

  1. Unit MCGA01;
  2.  
  3. interface
  4.  
  5. Procedure SetGraphMode (Num:Byte);
  6. Procedure SetPixelPas  (X,Y:Integer;Color:Byte);
  7. Procedure SetPixelAsm  (X,Y:Integer;Color:Byte);
  8.  
  9. implementation
  10.  
  11. var
  12.   ScreenWide  :  Integer;
  13.   ScreenAddr  :  Word;
  14.  
  15. Procedure SetGraphMode (Num:Byte);
  16. begin
  17.   asm
  18.     mov al,Num
  19.     mov ah,0
  20.     int 10h
  21.     end;
  22.   Case Num of
  23.     $13 : ScreenWide := 320;
  24.     end;
  25.   ScreenAddr := $A000;
  26. end;
  27.  
  28. Procedure SetPixelPas (X,Y:Integer;Color:Byte);
  29. var
  30.   Ofs    :  Word;
  31. begin
  32.   Ofs := Y * ScreenWide + X;
  33.   Mem [ScreenAddr:Ofs] := Color;
  34. end;
  35.  
  36. Procedure SetPixelAsm (X,Y:Integer;Color:Byte);
  37. begin
  38.   asm
  39.     push ds
  40.     mov  ax,ScreenAddr
  41.     mov  ds,ax
  42.  
  43.     mov  ax,Y
  44.     mov  bx,320
  45.     mul  bx
  46.     mov  bx,X
  47.     add  bx,ax
  48.  
  49.     mov  al,Color
  50.     mov  byte ptr ds:[bx],al
  51.     pop  ds
  52.     end;
  53. end;
  54.  
  55. Begin
  56. End.
  57.